package vues;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.geom.Rectangle2D;

import sourceCode.Bagage;

public class VueBagage extends Vue {

    private Bagage bagage;
    private VueAeroport vueAeroport;

    private Color couleurNormal = new Color(250, 30, 130);

    //Constantes
    private int hauteurBagage = 4;
    private int longueurBagage = 4;
    private Rectangle2D.Double rectangleBagage;

    public VueBagage(VueAeroport v, Bagage b) {
        super();
        this.bagage = b;
        this.vueAeroport = v;
        Point centre = vueAeroport.convertCoordonnesToPixels(b.getCoordonnees());
        this.rectangleBagage = setRectangleBagage(centre);
    }

    public boolean estCliquee(int x, int y) {
        return this.rectangleBagage.contains(x, y);
    }

    public Rectangle2D.Double setRectangleBagage(Point centre) {
        return new Rectangle2D.Double(centre.getX() - this.longueurBagage / 2, centre.getY() - this.hauteurBagage / 2,
                                      this.longueurBagage, this.hauteurBagage);
    }

    @Override
    public void dessiner(Graphics g) {
        Color cTemp = g.getColor();
        g.setColor(this.couleurNormal);
        Point centre = this.vueAeroport.convertCoordonnesToPixels(this.bagage.getCoordonnees());
        this.rectangleBagage = setRectangleBagage(centre);
        g.fillRect((int)this.rectangleBagage.x, (int)this.rectangleBagage.y, (int)this.rectangleBagage.width,
                   (int)this.rectangleBagage.height);
        g.setColor(cTemp);
        return;
    }

    @Override
    public String getType() {
        return "VueBagage";
    }

    public Bagage getBagage() {
        return this.bagage;
    }
}
